package org.dromara.system.service;

import org.dromara.system.pojo.bo.SysConfigBO;
import org.dromara.system.pojo.qo.SysConfigQO;
import org.dromara.system.pojo.vo.SysConfigVO;

import com.mybatisflex.core.paginate.Page;

import java.util.List;

/**
 * 参数配置表 服务层。
 *
  * @author mkj
  * @since 2024-07-21
 */
public interface SysConfigService  {


    /**
     * 新增
     *
     * @param sysConfigBO 表单
     * @return {@code true} 添加成功，{@code false} 添加失败
     */
    boolean add(SysConfigBO sysConfigBO);

    /**
     * 根据主键删除
     *
     * @param id 主键
     * @return {@code true} 删除成功，{@code false} 删除失败
     */
    boolean remove(Long id);

    /**
     * 根据主键更新
     *
     * @param sysConfigBO 表单
     * @return {@code true} 更新成功，{@code false} 更新失败
     */
    boolean update(SysConfigBO sysConfigBO);

    /**
     * 条件查询所有数据
     *
     * @return 条件查询所有数据
     */
    List<SysConfigVO> list(SysConfigQO sysConfigQO);

    /**
     * 根据主键获取详细信息。
     *
     * @param id 主键
     * @return 详情
     */
    SysConfigVO getInfo(@PathVariable Long id);

    /**
     * 分页查询
     *
     * @param page 分页对象
     * @return 分页对象
     */
    Page<SysConfigVO> page(SysConfigQO page);

}

